home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Oh!X 2000 Spring
/
Oh!X 2000 Spring Special CD-ROM (Japan) (Part 1).7z
/
Oh!X 2000 Spring Special CD-ROM (Japan) (Part 1).bin
/
F2JW
/
trans
/
ideum.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
1999-08-22
|
2KB
|
77 lines
//
// 熟語に関することろ
//
#include "stdafx.h"
#include "f2j.h"
#include "myprot.h"
CMP_TOKEN pat_QuelqueChose[] = {
CMP_TOKEN( FR_PART_ADJECTIVE_GENERAL, "quelque"),
CMP_TOKEN( FR_PART_NOUN_GENERAL, "chose"),
CMP_TOKEN( FR_PART_NONE)
};
CMP_TOKEN pat_LesUns[] = {
CMP_TOKEN( FR_PART_ARTICLE_DEFINIT, "les"),
CMP_TOKEN( FR_PART_NUMETRIC_NUMBER, "uns"),
CMP_TOKEN( FR_PART_NONE)
};
CMP_TOKEN pat_PasUn[] = {
CMP_TOKEN( FR_PART_ADVERB_PAS, "pas"),
CMP_TOKEN( FR_PART_NUMETRIC_NUMBER, "un"),
CMP_TOKEN( FR_PART_NONE)
};
JP_PRONOUN jp_QuelqueChose[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"なにか", JP_EMPHASIS_NONE, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE, JP_PROP_THING, JP_UNIT_NONE
)
};
JP_PRONOUN jp_PasUn[] = {
JP_PRONOUN( FR_ATTRIB_ALL, FR_ATTRIB_NONE,
JP_PROP_ALL, JP_PROP_NONE,
NULL,
"誰", JP_EMPHASIS_MO, FR_PART_NOUN_INDEFINIT,
FR_ATTRIB_IL_ELLE, JP_PROP_HUMAN, JP_UNIT_HITO
)
};
// 目的語代名詞
PRONOUN dic_QuelqueChose[] = {
{ "l'", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(jp_QuelqueChose) },
{ "l'", FR_ATTRIB_IL_ELLE, FR_SHORT_NONE, JPPRONOUN_DIC(jp_PasUn) },
};
void
Process_QuelqueChose(TOKEN *start)
{
TOKEN *p;
for(p = start; p; p = p->next) {
if(IsPatternMatch(pat_QuelqueChose, p)) {
DisconnectTOKEN(start, p->next);
ChangeToPronoun(p, dic_QuelqueChose);
} else if(IsPatternMatch(pat_PasUn, p)
// Elle n'est pas un professeur.
&& SearchToken(JP_PROP_NEGATIVE, start, p) == NULL) {
DisconnectTOKEN(start, p->next);
if(p->next
&& IsObjectMatch(p->next, FR_PART_NOUN_ALL)) {
ChangeToAdverb(p, "tout");
p->jpProp |= JP_PROP_NEGATIVE;
AttachAdverb(start, p->next, p);
} else {
ChangeToPronoun(p, &dic_QuelqueChose[1]);
}
}
}
}